//
//  AXFSettingController.m
//  AXFEightGroup
//
//  Created by hgj on 2016/12/26.
//  Copyright © 2016年 ya. All rights reserved.
//

#import "AXFSettingController.h"
#import "AXFAboutAuthorController.h"

@interface AXFSettingController ()

@property (weak, nonatomic) IBOutlet UILabel *cache_label;

@end

@implementation AXFSettingController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self showCaChe];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    
    if (indexPath.section == 0 ) {
        if (indexPath.row == 0) {
            
            AXFAboutAuthorController *authorVC = [AXFAboutAuthorController new];
            [self.navigationController pushViewController:authorVC animated:YES];
        
        } else if (indexPath.row == 1){
            [self putBufferBtnClicked];
        }
        
    } else if (indexPath.section == 1) {
        NSLog(@"退出登录");
    }
}

#pragma mark - 清理缓存 -

- (void)showCaChe {
    CGFloat size = [self folderSizeAtPath:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject] + [self folderSizeAtPath:NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES).lastObject] + [self folderSizeAtPath:NSTemporaryDirectory()];
    self.cache_label.text = size > 1 ? [NSString stringWithFormat:@"缓存%.0fM", size] : [NSString stringWithFormat:@"缓存%.0fK", size * 1024.0];
}

//清除缓存按钮的点击事件
- (void)putBufferBtnClicked{
    
    NSString *message = @"删除缓存";
    
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:(UIAlertControllerStyleAlert)];
    
    UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction *action) {
        [self cleanCaches:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject];
        [self cleanCaches:NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES).lastObject];
        [self cleanCaches:NSTemporaryDirectory()];
    }];
    
    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:(UIAlertActionStyleCancel) handler:nil];
    [alert addAction:action];
    [alert addAction:cancel];
    [self showDetailViewController:alert sender:nil];
}

// 计算目录大小
- (CGFloat)folderSizeAtPath:(NSString *)path{
    // 利用NSFileManager实现对文件的管理
    NSFileManager *manager = [NSFileManager defaultManager];
    CGFloat size = 0;
    if ([manager fileExistsAtPath:path]) {
        // 获取该目录下的文件，计算其大小
        NSArray *childrenFile = [manager subpathsAtPath:path];
        for (NSString *fileName in childrenFile) {
            NSString *absolutePath = [path stringByAppendingPathComponent:fileName];
            size += [manager attributesOfItemAtPath:absolutePath error:nil].fileSize;
        }
        // 将大小转化为M
        return size / 1024.0 / 1024.0;
    }
    return 0;
}
// 根据路径删除文件
- (void)cleanCaches:(NSString *)path{
    // 利用NSFileManager实现对文件的管理
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if ([fileManager fileExistsAtPath:path]) {
        // 获取该路径下面的文件名
        NSArray *childrenFiles = [fileManager subpathsAtPath:path];
        for (NSString *fileName in childrenFiles) {
            // 拼接路径
            NSString *absolutePath = [path stringByAppendingPathComponent:fileName];
            // 将文件删除
            [fileManager removeItemAtPath:absolutePath error:nil];
            
        }
    }
    self.cache_label.text = @"缓存0K";
}


@end
